Everything about Darwin Kernel totally explained
Darwin is an open source
UNIX computer
operating system released by
Apple Inc. in 2000. It is composed of code developed by Apple, code derived from
NEXTSTEP, and code derived from
FreeBSD and other
free software projects.
Darwin forms the core set of components upon which
Mac OS X and
iPhone OS are based. It can also be run as a standalone operating system (although Apple no longer provides a
distribution). It is compatible with the Single UNIX Specification version 3 (SUSv3) and POSIX UNIX applications and utilities.
History
Darwin's heritage began with
NeXT's
NEXTSTEP operating system (later known as
OPENSTEP), first released in 1989. After Apple bought NeXT in 1997, it announced it would base its next operating system on OPENSTEP. This was developed into
Rhapsody in 1997 and the Rhapsody-based
Mac OS X Server 1.0 in 1999. In 2000, Rhapsody was
forked into Darwin and released as
open-source software under the
Apple Public Source License (APSL), and components from Darwin are present in Mac OS X today.
Design
Kernel
Darwin is built around
XNU, a
hybrid kernel that combines the
Mach 3
microkernel, various elements of
4.4BSD (including the process model,
network stack, and
virtual file system), and an object-oriented
device driver API called
I/O Kit.
Some of the benefits of this choice of kernel are the
Mach-O binary format, which allows a single executable file (including the kernel itself) to support multiple
CPU architectures, and the mature support for
symmetric multiprocessing in Mach. The hybrid kernel design compromises between the flexibility of a
microkernel and the performance of a
monolithic kernel.
Hardware and software support
Darwin currently includes support for both
32-bit and
64-bit variants of the
PowerPC and
Intel x86 processors used in the
Mac and
Apple TV as well as the 32-bit
ARM processor used in the
iPhone and
iPod Touch (although this version of Darwin hasn't been released as a standalone operating system).
It supports the
POSIX API by way of its
BSD lineage and a large number of programs written for various other
Unix-like systems can be
compiled on Darwin with no changes to the
source code.
Darwin and Mac OS X both use I/O Kit for their drivers and therefore support the same hardware, file systems, and so forth. Apple's distribution of Darwin includes
proprietary (binary-only) drivers for their
AirPort wireless cards.
Darwin doesn't include many of the defining elements of Mac OS X, such as the
Carbon and
Cocoa APIs or the
Quartz Compositor and
Aqua user interface, and thus can't run Mac applications. It does, however, support a number of lesser known features of Mac OS X, such as mDNSResponder, which is the
multicast DNS responder and a core component of the
Bonjour networking technology, and
launchd, an advanced
service management framework.
License
In July 2003, Apple released Darwin under version 2.0 of the
Apple Public Source License (APSL), which the
Free Software Foundation (FSF) approved as a
free software license. Previous releases had taken place under an earlier version of the APSL that didn't meet the FSF's definition of free software, although it met the requirements of the
Open Source Definition. The APSL isn't compatible with the
GNU General Public License.
Mascot
The Darwin developers decided to adopt a
mascot in 2000, and chose
Hexley the platypus over other contenders, such as an
Aqua Darwin fish,
Clarus the Dogcow, and an
orca. Apple doesn't sanction Hexley as a logo for Darwin.
Releases
This is a table of Darwin releases with their dates of release and their corresponding
Mac OS X releases.
Up to Darwin 8.0, Apple released a binary installer (as an
ISO image) after each major Mac OS X release. Minor updates were released as packages that were installed separately. Darwin is now only available as source code.
The jump in version numbers from Darwin 1.4.1 to 5.1 with the release of Mac OS X v10.1.1 was designed to tie Darwin to the Mac OS X version and build numbering system. Apple wrote a letter and sent it to everyone on their developer lists explaining the reasons behind the change in Darwin version numbers and what they stood for. In the build numbering system of Mac OS X, every version has a unique beginning build number, which identifies what whole version of Mac OS X it's part of. Mac OS X v10.0 had build numbers starting with 4, 10.1 had build numbers starting with 5, 10.2 had build numbers starting with 6, 10.3 had build numbers starting with 7, 10.4 had build numbers starting with 8, and 10.5 has build numbers starting with 9. The point release number in the Darwin version is always the same as the second point number in the Mac OS X version. In the case of Mac OS X v10.1.1 (the version where the jump in version numbers was made), this was build 5M28 and the 10.1.1 release, which is how the 5.1 was derived.
The command
uname -r in
Terminal will show the Darwin version number, and the command
uname -v will show the
XNU build version string, which includes the Darwin version number.
Darwin projects
Due to the free software nature of Darwin, there are many projects that aim to modify or enhance the operating system:
- OpenDarwin was a community-led operating system based on the Darwin platform, founded in April 2002 by the Internet Software Consortium and Apple. In July 2006, the OpenDarwin Core Team and Administrators announced that all development on OpenDarwin would cease, citing concerns over lack of interest from the community (External Link
).
- MacPorts (formerly DarwinPorts) and Fink are both well known projects to port Unix programs to the Darwin operating system and provide package management.
- GNU-Darwin is a project that ports packages of free software to Darwin.
- The Darbat project is an experimental port of Darwin to the L4 microkernel family. It aims to be binary compatible with existing Darwin binaries. (External Link
)
- There are various projects that focus on driver support (for example, wireless drivers, such as a port of prism/prism2
or a port of ipw2200
; wired NICs, such as a port of the tulip drivers
, a driver for the ADMtek 985 clone and the PNIC 82c169 chipsets, or a port of the rlt8139 driver
and the rtl8150lm driver
, drivers for some Realtek cards; and even ports of modem drivers, such as for ZyXEL modems
, and a project for adding support to card readers
). Darwin also has support for ext2/ext3 file systems (External Link
).
- Others focus on software for running Microsoft Windows software on Darwin - for instance, the Darwine project is a port of Wine (External Link
).
- In addition, several standard Unix package manager projects are working on Darwin ports, such as RPM for Darwin (External Link
), pkgsrc (the NetBSD package manager), and Portage (the Gentoo package manager). Some of these operate in their own namespace so as not to interfere with the base system.
- There is a port of SELinux to Darwin (External Link
).
Further Information
Get more info on 'Darwin Kernel'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://darwin__operating_system.totallyexplained.com">Darwin (operating system) Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |